The invention concerns a computer user interface which supports multiple parallel execution of a plurality of application programs ("applications"). In particular, the invention concerns a navigation scheme using a minimum number of keystrokes or mouse clicks in a user interface which supports parallel execution of a plurality of application programs.
Many commercially available user interfaces which are based upon windowing schemes support simultaneous execution of several applications. Each executing application may be provided with a window which affords a user the means to provide input to the executing application and to receive output from it. In the available windowing schemes, even though several applications can be running simultaneously, each updating its respective window, only one application window can receive keyboard input. This window is called the "active" window. Navigation in this context refers to the ability to switch windows, making one window inactive and another window active.
The normal navigation method employs a mouse. One or more applications may be activated at initial loading time or later by clicking on an icon. Each executing application is allocated a window. Activation of a window requires use of the mouse to move a cursor from an active window to another window, and depressing a function button on the mouse ("clicking the mouse") to activate a new window.
Currently, the keyboard may also be used to switch between windows by use of a dedicated function key (such as CTRL-ESCAPE) which activates a menu listing all currently-running applications. Arrow keys are then used to move the cursor to an application program name and the ENTER key (or some equivalent) is pressed to activate a new application. This normally requires three key strokes and a like number of shifts in the user's attention between the keyboard and the display screen.
Another drawback of current navigation schemes which provide multiple windows for multiple applications is the requirement to input separately through each window to elicit responses from multiple applications. Even when simultaneously-executing applications understand a single prompt, a separate copy of the prompt must be input to each application through its particular window.
Last, given the frequent reconfiguration of a display in a user interface that supports parallel execution of applications, there is a manifest need to navigate forward and backward through screen configurations if the user wishes to return to an earlier configuration after changing the display.